package com.mlnx.ui.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mlnx.common.form.PageForm;
import com.mlnx.ui.entity.Patient;
import com.mlnx.ui.entity.PatientAlarm;
import com.mlnx.ui.pojo.dto.PatientAlarmDTO;
import com.mlnx.ui.pojo.dto.PatientDeviceDTO;
import com.mlnx.ui.pojo.form.*;
import com.mlnx.ui.pojo.vo.PatientVO;

import java.util.List;
import java.util.Map;

public interface PatientService extends IBaseService<Patient> {

    Integer addPatient(PatientForm patientForm);

    Map<String, Object> getAllPatients(Integer userId, boolean taizhou);

    List<Patient> getTaizhouPatients(Integer userId);

    void movePatientsToGroup(Integer groupId, Integer[] patientIds);

    void deletePatients(Integer[] patientIds);

    Integer getGroupPatientsCount(Integer groupId);

    void synXKPatients(XKParamForm xkParamForm);

    void setPatientAlarm(PatientAlarmForm patientAlarmForm);

    List<PatientDeviceDTO> getPatientsByGroupId(Integer groupId);

    PatientAlarmDTO getPatientDeviceInfo(Integer patientId);

    PatientAlarmDTO getPatientDeviceInfo(String phone);

    Page<PatientVO> list(PageForm pageForm, PatientFilterForm patientFilterForm);

    void updatePatient(Integer id, EditPatientForm editPatientForm);

    PatientAlarm getPatientAlarm(Integer patientId);
}
